Data storing method, data storing system, data recording control apparatus, data recording instructing apparatus, data receiving apparatus, and information processing terminal

ABSTRACT

A distributed storage system having n nodes ( 20   1 ), ( 20   2 ), . . . , ( 20   n ), a recording commanding device ( 10 ) for commanding recording of data in each node, and a transmission commanding device ( 30 ) for reading out the data recorded in the respective nodes. These nodes and the devices are interconnected over a network. The recording commanding device ( 10 ) applies FEC coding, with the coding rate of q/p, to data composed of p blocks, to generate q blocks, and appends a recording probability a, recorded by the node, to the data, to send out the resulting data to the network. In readout, the transmission commanding device ( 30 ) responds data to which has been appended the response probability β in responding the data.

TECHNICAL FIELD

This invention relates to a data storage method and a data storagesystem, a data recording controlling apparatus, a data recordingcommanding apparatus, a data receiving apparatus and an informationprocessing terminal, and more specifically to a data storage method anda data storage system for storing data distributed in plural nodesinterconnected over a network. More particularly, it relates to a datarecording controlling apparatus, a data recording commanding apparatus,a data receiving apparatus and an information processing terminal thatmay be conveniently used in this data storage system.

This application claims priority of Japanese Patent ApplicationNo.2002-139232, filed in Japan on May 14, 2002, the entirety of which isincorporated by reference herein.

BACKGROUND ART

Recently, a large scale storage system, in which data is distributed andrecorded in a large number of information processing terminalsinterconnected over a network. In this distributed storage system, aserver for recording and managing data transmits data to informationprocessing terminals or to other servers, by e.g. multi-cast, forrecording on local recording mediums provided in the informationprocessing terminals or other servers.

If, in this case, data is to be taken out on demand, a large amount ofdata must be recorded in the recording medium. For example, if data is amotion picture, with the data capacity of approximately 2 Gbytes, and500 of such motion pictures are to be recorded, the capacity not lessthan 1 terabyte is needed.

On the other hand, if, as an example of providing data by streaming, theserver provides data to a client which requests the data by unicast, aprotocol is used, in which re-transmission of data, such as an arrivalcomplete signal (ACK signal) of TCP/IP, is requested for achievingerror-free transmission.

However, this technique imposes significant load on the server, so that,in the current status of the art, services can be rendered to onlyhundreds of clients even if a high performance server is used. Even if aprotocol, not employing the ACK, such as UDP/IP, is used, the number ofclients, to whom services can be rendered, is not more than the order ofthousands. Thus, if it is tried to provide data by streaming, serverside costs are raised, such that the number of the clients is limited.

Recently, such a system has been proposed in which FEC (Forward ErrorCorrection) is used as a multi-cast technique and in which data istransmitted to plural clients without requesting re-transmission ofdata. This system is such a one in which a server repeatedly transmits astream by multi-cast and in which a client picks up necessary signalsform the stream and decodes and reproduces the so picked up data.

In transmitting picture data of 500 motion pictures, each amounting to 2Gbytes, within ten minutes, a transmission bandwidth of approximately14.7 Gbits/sec is needed. If the same amount of the picture data is tobe transmitted within one minute, the transmission bandwidth ofapproximately 147 Gbits/sec is needed. Although the above numericalvalues are theoretical values, the server that is able to withstand thecapacity or the transmission system is extremely costly and, if suchserver is built, it is not practical. Although there is such a system inwhich data is distributed and recorded in a plural number of hosts, sucha system is in need of increased processing for data management or datacommunication, because a huge amount of data has to be managed by pluralservers.

DISCLOSURE OF THE INVENTION

In view of the above depicted status of the art, it is an object of thepresent invention to provide a data storage method and a data storagesystem in which a large amount of data can be distributed and managedwithout requiring complex processing or a huge transmission bandwidth,without burdening individual terminals, a data recording controllingapparatus for managing control in such a manner that a large amount ofdata can be distributed and recorded without requiring complexprocessing or a huge transmission bandwidth, without burdeningindividual terminals, and in such a manner that data can be taken outfrom the recording site, a data recording commanding apparatus in whicha large amount of data can be distributed and recorded without requiringcomplex processing or a huge transmission bandwidth, without burdeningindividual terminals, a data receiving apparatus for receiving datadistributed and recorded in individual terminals, and an informationprocessing terminal that is able to distribute and record a large amountof data.

In one aspect, the present invention provides a data storage method fordistributing and recording data in a plurality of information terminalsinterconnected over a network, comprising an encoding step for encodingblocked first data to generate blocked second data, a packetizing stepof packetizing the second data, a recording probability generating stepof generating a recording probability indicating whether or not thepacket generated in the packetizing step is to be recorded in the pluralinformation processing terminals, a transmission step of transmittingthe packet and the recording probability to the plural informationprocessing terminals, and a recording step of recording the packets inthe information processing terminal based on the recording probability.The method includes, as processing for reading out the packet recordedin one or more of the plural information processing terminals with therecording probability, a response request data generating step ofgenerating response request data with a response probability attachedthereto for indicating whether or not the packet is to be responded, atransmission step of transmitting the response request data to theplural information processing terminals, and a response step ofresponding the packet in the plural information processing terminalsbased on the response probability.

In another aspect, the present invention provides a data storage systemfor distributing and recording data in a plurality of informationterminals interconnected over a network, comprising a data recordingcontrolling device, which data recording controlling device includesencoding means for encoding blocked first data to generate blockedsecond data, packetizing means for packetizing the second data,recording probability generating means for generating a recordingprobability indicating whether or not the packet generated in thepacketizing step is to be recorded in the plural information processingterminals, and transmission means for transmitting the recordingprobability and the response request data to the plural informationprocessing terminals, and a plurality of information processingterminals, which information processing terminals each includetransmission/receipt means for transmitting/receiving the packet and therecording probability with the data recording controlling device,recording means for recording the packet, and controlling means formanaging control whether or not the received packet is to be recordedbased on the recording probability and whether or not the recordedpacket is to be responded with the response probability. Theaforementioned means are interconnected over a network.

In still another aspect, the present invention provides a data recordingcontrolling apparatus for distributing and recording data in a pluralityof information terminals interconnected over a network, in which theapparatus comprises encoding means for encoding blocked first data togenerate blocked second data, packetizing means for packetizing thesecond data, recording probability generating means for generating arecording probability indicating whether or not the packet generated bythe packetizing means is to be recorded in the plural informationprocessing terminals, response request data generating means forgenerating response request data with a response probability attachedthereto, the response probability indicating whether or not the packetis to be responded, transmission means for transmitting the packetincluding the recording probability and the response request data to theplural information processing terminals, and receiving means forreceiving the packet sent from the terminals.

In still another aspect, the present invention provides a data recordingcommanding apparatus for distributing and recording data in a pluralityof information terminals interconnected over a network, in which theapparatus comprises encoding means for encoding blocked first data togenerate blocked second data, packetizing means for packetizing thesecond data, recording probability generating means for generating arecording probability indicating whether or not the packet generated inthe packetizing means is to be recorded in the plural informationprocessing terminals, and transmission means for transmitting the packetinclusive of the recording probability to the plural informationprocessing terminals.

In still another aspect, the present invention provides a data receivingapparatus for receiving data from a plurality of information processingterminals interconnected over a network, in which the apparatuscomprises response request data generating means for generating responserequest data with a response probability attached thereto, the responseprobability indicating whether or not a packet recorded in the pluralinformation processing terminals is to be responded, transmitting meansfor transmitting the response request data to the information processingterminals, and receiving means for receiving the packet sent from theinformation processing terminals.

In yet another aspect, the present invention provides an informationprocessing terminal comprising transmitting/receiving means fortransmitting/receiving data with an external device connected theretoover a network, recording means for recording the packet, andcontrolling means for controlling whether or not the packet is to berecorded based on the recording probability attached to the packet andwhether or not the recorded packet is to be responded with the responseprobability sent from the external device.

The above one and other aspects of the present invention are stated inthe appended claims and hereinafter explained in detail with referenceto the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a structure of a distributed storage system according tothe present invention.

FIG. 2 shows an inner structure of a recording commanding apparatus.

FIG. 3 shows a structure of a packet for storage of data for recording.

FIG. 4 shows an inner structure of a node.

FIG. 5 shows an inner structure of a transmission commanding apparatus.

FIG. 6 shows a structure of a packet for requesting data transmission.

FIG. 7 shows a structure of a packet responded from the node.

FIGS. 8A and 8B show the process for generating a packet.

FIG. 9 shows a transmission channel for a packet including data forrecording.

FIG. 10 shows a transmission channel for a packet requesting response ofdata.

FIG. 11 shows a transmission channel for a packet responded from thenode to the transmission commanding apparatus.

FIGS. 12A and 12B show the process of restoring the packet transmittedfrom the node to original data.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring to the drawings, certain specified embodiments of the presentinvention are explained in detail. FIG. 1 shows a specified embodimentof a distributed storage system in which data is distributed andrecorded in plural terminals comprising a network. The distributedstorage system includes n nodes 20 ₁, 20 ₂, . . . , 20 _(n−1), 20 _(n),interconnected in a mesh-like form, a recording commanding device 10 forcommanding the distributing and recording of data in the respectivenodes, and a transmission commanding device 30 for reading out the datarecorded in the respective nodes. Although the recording commandingdevice 10, node 20 and the transmission commanding device 30 in thepresent specified embodiment are separate devices, the two devices maybe combined to a sole recording transmission commanding apparatus havingthe functions of the respective devices. Or, the functions of therecording commanding device 10 and the transmission commanding device 30may be provided on each node. In such case, the respective devices,comprising the network, may be used without distinctions.

Moreover, in FIG. 1, a transmission controlling apparatus, such as arouter, forming the network, is not shown. However, in actuality, thereis provided such a transmission controlling apparatus, e.g. a router,for selecting the channel of the packets traversing the node 20. Thistransmission controlling apparatus may be provided distinctly from thenode 20, or the functions similar to those of the transmissioncontrolling apparatus may be provided to the node 20.

The recording commanding device 10 is now explained. FIG. 2 shows theinner structure of the recording commanding device 10. The recordingcommanding device 10 includes an FEC (Forward Error Collection) encoder11 for performing FEC encoding, an interleaver 12 for interleavingencoded data, a packet generating unit 13 for converting the data outputfrom the interleaver 12 into a packet, and a network interface 14 forestablishing connection to the network. The recording commanding deviceis supplied with data via a data inputting unit 15.

The FEC encoder 11 encodes input data using EFC encoding. It should benoted that the FEC encoding is a generic terminology of the encodingsystem performing error correction on the receiver side, such as tornadoencoding system, read tornado encoding system or turbo encoding system.The FEC encoder 11 divides data input from the data inputting unit 15into p blocks and applies FEC encoding to these p blocks for convertingthe p blocks into q blocks. This encoding from the p blocks to the qblocks is termed the encoding with the coding rate of q/p. By changingthis coding rate q/p, it is possible to change the recording efficiencyor the transmission efficiency of the present distributed storagesystem.

The interleaver 12 interchanges the sequence of the encoded data. Bythis re-arraying of the data sequence, carried out by the interleaver12, data is distributed in such a manner that the burst errors producedby the packet loss is changed over to random errors.

The packet generating unit 13 divides the data, transmitted from theinterleaver 12, into predetermined size data, and appends the controlinformation to the so split data to generate a packet. FIG. 3 shows thestructure of a packet 40 generated by the packet generating unit 13. Thepacket 40 is made up by a header 41, a recording probability statingpart 42, a payload 43 and a footer 44. In the payload 43, there isstated the transmission information converted by the FEC encoder 11. Inthe header 41 and in the footer 44, there is stated the controlinformation including a data ID, specifying the sort of data, a checksum of CRC (Cyclic Redundancy Check), GUID (Global Unique ID) of thenode 20 and a network address.

In the recording probability stating part 42, there is stated theprobability for the respective nodes, as later explained, to record thispacket. A controller 22 of the node records a packet based on thisrecording probability a.

Each and all nodes, comprising the distributed storage system, decide asto whether or not packets should be recorded, on the basis of therecording probability. In this manner, data are recorded with aprobability a in the nodes comprising the distributed storage system. Inthis distributed storage system, data may be recorded with a uniformprobability in the respective nodes in case the number of the nodes n issufficiently large and also in case a sufficient large the number ofblocks q have been decoded.

A network interface 14 is supplied with packetized data and transmitsthe data with a unicast or a multicast to each node 20.

The structure of the node 20 is now explained. FIG. 4 shows thestructure of the node 20. The node 20 includes a network interface 21, acontroller 22 and a recording unit 23, and is connected to the networkover the network interface 21.

The controller 22 executes recording processing for recording an inputpacket 40 in the recording unit 23 and a responding processing forresponding the data responsive to a request from the other node 20.

The recording processing is the processing of verifying whether or notthe packet 40 is to be recorded in the recording unit 23, based on therecording probability a for the input packet 40. It should be noted thatthe packets are uniformly recorded in the totality of the nodes in casethe number of the nodes n comprising the distributed storage system issufficiently large and also in case a sufficient large number q of theblocks have been decoded, such that the data is recorded with theprobability a insofar as the entire distributed storage system isconcerned.

The responding processing is the processing which commences on receiptof a packet requesting the transmission of data sent from a transmissioncommanding device. The data structure of this data transmission requestpacket will be explained later. Briefly, this packet states aprobability of responding data β and the controller 22 responds therecorded data with a probability β. When it is determined that the datashould be responded, the controller 22 retrieves target data to generatea response packet.

The transmission commanding device 30 is now explained. FIG. 5 shows itsstructure. Specifically, the transmission commanding device 30 includesa network interface 31 for transmitting/receiving data with outside overa network, a data request unit 32 for requesting a node to transmitdata, a packet interlinking unit 33 for interlinking data split intopackets, a deinterleaver 34, and an FEC decoder 35. The decoded data isentered to an application processor 36 so as to be output to externalequipment, such as a monitor or a loudspeaker, not shown, or so as to bestored in a recording device, not shown.

The data request unit 32 transmits a packet for requesting data to eachnode comprising the distributed storage system. FIG. 6 shows thestructure of a packet 50 requesting data. The packet 50 is made up by aheader 51, a response probability stating part 52, a request statingpart 53 and a footer 54. In the request stating part 53, there is stateda data ID for discriminated the request data. In the header 51 and thefooter 54, there is stated the control information, including the CRCcheck sum, a network address of a node, a GUID or the sequence numberspecifying the data sequence.

In the response probability stating part 52, a response probability β isrecorded. The response probability β is a variable for verifying whetheror not the node which has received the packet 50 is to response data.Based on this variable, a certain node may decide that the data shouldbe responded, while another node may decide that the data should not beresponded. It is noted that the response probability β is a value whichholds when the distributed storage system is viewed macroscopically,that is, the data responding probability is β insofar as the overalldistributed storage system is concerned. Thus, should there exist nnodes 20 in the overall distributed storage system, the number of thepackets responded is the product of the number n of the nodes 20 and theresponse probability β, or n×β.

The packet interlinking unit 33 interlinks the packets responded fromthe nodes 20. FIG. 7 shows the data structure of a packet 60 respondedfrom the node. Referring to FIG. 7, the packet 60 is made up by a header61, a payload 62 and a footer 63. In the payload 62 is stored data to beresponded. In the header 61 and the footer 63, there is stored thecontrol information, such as CDC check sum, a network address of a node,or the sequence number specifying the data sequence.

On receipt of the packets 60 of FIG. 7, the packet interlinking unit 33reads out the sequence number and interchanges the sequence of thepackets 60, eliminates the control information, such as the header 61 orthe footer 63, and interlinks the packets in the order of the sequencenumber.

The deinterleaver 34 deinterleaves the interlinked packets to put thedata array in order. The FEC decoder 35 FEC-decodes the deinterleaveddata to restore the original data.

The data decoded by the FEC decoder 35 is output to the applicationprocessor 36. This application processor 36 stores the decoded data in arecording unit, not shown, or outputs the decoded data to aninput/output interface, such as a monitor or a loudspeaker.

Thus, the distributed storage system of the present specified embodimentis a system for recording data in respective nodes with a recordingprobability a and for responding the data recorded in the respectivenodes with the response probability β. The original data, output fromthe recording commanding device 10, is responded with a rate of α×n×β.For example, if p blocks are coded to q blocks, q×α×n×β blocks areresponded. If the number of the responded blocks is larger than thenumber p of the blocks prior to coding, data can be decoded, as statedin a treatise RIZZ097, which will be stated subsequently. Thus, bydetermining the values of α, β and q/p, so that the number of theresponded blocks is more than p, it is possible to decode the targeteddata.

The operation of the distributed storage system is now explained withreference to FIGS. 8 to 12. First, the data recording operation isexplained. In recording the data, the recording commanding device 10enters target data from the data inputting unit 15, and outputs theinput data to the FEC encoder 11.

The FEC decoder 11 splits the input data into p blocks, as shown in FIG.8B. The FEC decoder then applies FEC coding, with a coding rate of q/p,for converting the data, split into p blocks, into q encoded blocks.

As indicated in the foregoing, the FEC encoding is a generic terminologyof the encoding system performing error correction on the receiver side,such as tornado encoding system, read tornado encoding system or turboencoding system. If, when a given data is coded with the coding rateq/p, there are left not less than q encoded blocks, the original datacan be restored, even though several blocks are lost by loss, aspublicized in a treatise RIZZ097(http.//www.iet.unipi.it/⁻luigi/fec.html#fec.ps).

The FEC-coded data are output to the interleaver 12, which interleaver12 then re-arrays the sequence of the coded data to distribute the data.The data, output from the interleaver 12, is routed to the packetgenerating unit 13. The packet generating unit 13 splits the distributeddata to a predetermined size and appends the header or the footer to thesplit data to generate a packet 40 shown in FIG. 8B.

The packet 40, generated as described above, is routed to the networkinterface 14. The network interface 14 transmits the packetized data toeach node of the distributed storage system, using a unicast or amulti-cast, as shown in FIG. 9.

The node which has received the packet 40, sent from the recordingcommanding device 10, commences the recording processing and reads outthe recording probability a of the packet 40 to decide whether or notthe packet 40 is to be recorded. If it is determined that the packet isto be recorded, the node records the data in the recording unit 23 and,if it is determined that the packet is not to be recorded, the nodeoutputs the received packet to other nodes. It is noted that therecording probability α is a value indicating how much data is to berecorded in the distributed storage system in its entirety. Thus, shouldthe transmitted data be q encoding blocks, q×α data are recorded in thedistributed storage system in its entirety.

The processing of taking out the data is hereinafter explained. Whentaking out the data, the transmission commanding device 30 generates apacket 50 and outputs the packet 50 to respective nodes, using a unicastor a multi-cast, as shown in FIG. 10.

On receipt of the packet 50, the node commences the response processing.In the packet 50, a data ID for discriminating the data and the responseprobability β in responding the packet, are stated, in addition to theusual control information, in the packet 50. Thus, in the respondingprocessing, the node determines whether or not data is to be responded,based on the response probability β of the packet 50. If it isdetermined that the data is to be responded, the controller 22 of thenode generates a packet 60, including the data, and transmits the sogenerated packet to the transmission commanding device 30. If it isdetermined that no data is to be responded, the node controller 22performs no processing.

FIG. 11 shows the manner of responding the packet from each node to thetransmission commanding device 30. Referring to FIG. 11, the nodes ofthe distributed storage system may or may not respond data. However, onthe whole, each node responds data with a response probability β. Ifthere exist n nodes in the distributed storage system, each noderesponds the data at a rate of n×β on the whole. Since q×α data havebeen recorded in the distributed storage system, as described above,based on the recording probability α, q×α×n×β data are responded.

Referring now to FIG. 12, the decoding of the data is explained. Onreceipt of the data, transmitted from the respective nodes, thetransmission commanding device 30 enters the received data to the packetinterlinking unit 33 to interlink the packets. FIG. 12A shows packets 60being responded from the nodes to the to the transmission commandingdevice 30. In FIG. 12A, the locations shown shaded indicate thelocations where data loss has occurred. In the distributed storagesystem, since the original data is responded at a rate of α×n×β, not allpackets are responded, such that several packets are erased, as shown inFIG. 12A.

However, these data have been interleaved, so that, on deinterleaving,burst-like data loss is converted by distribution into random data loss.These data may be FEC coded to restore the original data shown in FIG.12B.

In the FEC encoding, if data is encoded with the coding rate of q/p, andthere exist not less than p blocks of the encoded data, data decoding ispossible. When the transmitted q data are responded at a rate of α×n×β,the number of the responded data is q×α×n×β. The original data can berestored by setting the values of q/p, α and β so that this numberq×α×n×β is not less than p.

Moreover, in the present specified embodiment, since it is sufficient ifthe coding rate q/p, recording probability α and the responseprobability β are set to satisfy the relation of p>q×α×n×β, the datarecording efficiency or the transmission efficiency can be changed bychanging the coding rate q/p, recording probability a and the responseprobability β insofar as the above relation is met. In the following,setting examples for the parameters q/p, α and β are explained.

For example, if the value of the recording probability α is enlarged andthat of the response probability β is decreased, for data for which anextremely large number of response requests have been made, the datatransmitted from the respective nodes is decreased, such as to simplifydata retrieving processing or data transmission processing in each node.

It is similarly possible to enlarge the value of the coding rate q/p andto decrease the response probability β, instead of enlarging the valueof the recording probability α, to simplify data retrieving processingor data transmission processing in each node.

Moreover, the number of the packets transmitted may be suppressed byreducing the coding rate q/p and by increasing the recording probabilityα. This is effective when p is sufficiently large. On the other hand,recording the same packet in plural nodes may be avoided by decreasingthe recording probability α and reducing the coding rate q/p. This iseffective when the value of p is sufficiently small.

By enlarging the response probability β and by decreasing the recordingprobability a or the coding rate q/p, it is possible to decrease thecapacity of the encoded data recorded in the distributed storage systemin its entirety. Or, during data recording, outputting or transmission,a sufficient number of data can be responded by controlling the valuesof α, β or q/p so that the value of α×n×α×q×β is sufficiently largerthan p, where a is the probability of packet loss.

By mathematically estimating the number of unique packets responded fromplural nodes, and enlarging the recording probability, responseprobability or the coding rate, it is possible to raise the probabilityof the oncoming of a unique packet.

With the distributed storage system of the present specified embodiment,described above, data may be distributed and recorded by transmitting apacket 40, stating the recording probability α, to the nodes comprisingthe system. Data may be taken out by causing the data recorded in thenode to be responded at a response probability β. By distributing andrecording the data in this manner, data can be stored withoutconcentrating the data management load in one server. Additionally, withthe distributed storage system of the present specified embodiment, inwhich given data is co-owned by plural nodes, the data volume needed inthe overall system may be reduced.

By receiving data from plural nodes, data transmission/receipt may becarried out with a stable traffic, without heavy inbound traffic in oneserver.

By changing the values of α, β or q/p, it is possible to change thetransmission efficiency or the volume of recorded data. Moreover, onpacket loss such as at the time of data recording, outputting ortransmission, the values of the parameters α, β or q/p may be changed,taking the loss probability a into account, such that an amount of datasufficient for decoding can be taken out even on the occasion of packetloss.

Moreover, with the present distributed storage system, in whichdistributed recording and readout may be achieved by calculations whichare based on the recording probability and the response probability,data management is simpler, such that the household appliances with alow processing capability, such as camcorder or a mobile phone, can beadapted to the present system. Additionally, since the householdappliances with a low processing capability, such as camcorder or amobile phone, can be used as a node, a distributed storage system ofmillions of nodes can be constructed extremely readily.

In the above-described distributed storage system, the transmissioncommanding device transmits data for recording and the recordingprobability by the same packet. Alternatively, the data for recordingand the recording probability may be transmitted by different packets,or recorded in an exterior recording device, so as to be referred tofrom respective information processing nodes.

The above-described specified examples are merely illustrative of thepresent invention such that the present invention encompassesmodifications that come under the scope of the purport of the invention.For example, although a camcorder, a personal video recorder or a homegateway may be thought of as nodes, any other suitable device, having arecording unit for recording data, a controller for permittingpredetermined calculations and a network interface permitting datatransmission/receipt, may also be used as a node.

Although the recording probability α and the response probability β arerecorded in the packet, it is also possible to record the recordingprobability a and the response probability β in an optional recordingdevice or in a packet and the so recorded data may be referred to byeach node. In particular, if the read tornado coding system is used asFEC coding, the interleaving processing can be omitted.

The present invention is not limited to the embodiments described withreference to the drawings and, as may be apparent to those skilled inthe art, various changes, substitutions or equivalents may be envisagedwithout departing from the scope and the purport of the invention asdefined in the appended claims.

INDUSTRIAL APPLICABILITY

With the data storage method according to the present invention,described above, the second data, obtained on encoding first data, isformed into packets, a recording probability indicating whether or noteach packet is to be recorded in the plural information processingterminals is generated and the recording probability as well as thepackets is sent to the plural information terminals. For reading out thepackets recorded in any of the information processing terminals withthis recording probability, response request data, with a responseprobability attached thereto for indicating whether or not the packet isto be responded, is generated and transmitted to plural informationprocessing terminals. The information processing terminals respond thepacket based on the response probability. In this manner, a largequantity of data may be distributed and recorded without requiringcomplex processing or huge transmission bandwidth without loading theindividual terminal, while the data can be taken out from the recordedlocation for data re-construction.

With the data storage system, according to the present invention, thesecond data, obtained on encoding first data, is formed into packets, arecording probability indicating whether or not each packet is to berecorded in the plural information processing terminals is generated andthe recording probability as well as the packets is sent to the pluralinformation terminals. For reading out the packets recorded in any ofthe information processing terminals with this recording probability,response request data, with a response probability attached thereto forindicating whether or not the packet is to be responded, is generatedand transmitted to plural information processing terminals. Theinformation processing terminals then respond the packet based on theresponse probability. In this manner, a large quantity of data may bedistributed and recorded without requiring complex processing or a hugetransmission bandwidth without loading the individual terminal, whilethe data can be taken out from the recorded location for datare-construction.

With the data recording controlling apparatus, according to the presentinvention, a large quantity of data may be distributed and recordedwithout requiring complex processing or a huge transmission bandwidthwithout loading the individual terminal, while data may be taken outfrom the recording location for re-construction.

With the data recording commanding apparatus, according to the presentinvention, a large quantity of data may be distributed and recordedwithout requiring complex processing or a huge transmission bandwidthwithout loading the individual terminal.

With the data receiving apparatus, the data distributed and recorded inindividual terminals can be received and reconstructed without requiringcomplex processing or huge transmission bandwidth.

Moreover, with the information processing terminal according to thepresent invention, a large quantity of data can be distributed andrecorded without requiring complex processing or huge transmissionbandwidth.

1. A data storage method for distributing and recording data in aplurality of information terminals interconnected over a network,comprising an encoding step for encoding blocked first data to generateblocked second data; a packetizing step of packetizing said second data;a recording probability generating step of generating a recordingprobability indicating whether or not the packet generated in saidpacketizing step is to be recorded in said plural information processingterminals; a transmission step of transmitting said packet and therecording probability to said plural information processing terminals;and a recording step of recording said packets in said informationprocessing terminal based on said recording probability; wherein themethod includes, as processing for reading out said packet recorded inone or more of said plural information processing terminals with saidrecording probability, a response request data generating step ofgenerating response request data with a response probability attachedthereto for indicating whether or not said packet is to be responded; atransmission step of transmitting said response request data to saidplural information processing terminals; and a response step ofresponding said packet in said plural information processing terminalsbased on said response probability.
 2. The data storage method accordingto claim 1 wherein said recording probability is included in said packetand is transmitted along with said packet to said plural informationprocessing terminals.
 3. The data storage method according to claim 1wherein said recording probability is transmitted with a packetdifferent from said packet.
 4. The data storage method according toclaim 1 wherein the number of the packets responded in said respondingstep is the same as or larger than the number of the blocks of saidfirst data.
 5. The data storage method according to claim 4 furthercomprising a packet distribution controlling step of changing the ratioof said first and second data, recording probability and the responseprobability to control the distribution of said packets.
 6. The datastorage method according to claim 4 wherein, in said packet distributioncontrolling step, said recording probability, response probability, thenumber of said information processing terminals and the number of blocksof said second data are changed so that the product of said recordingprobability, response probability, the number of said informationprocessing terminals and the number of blocks of said second data is thesame as or larger than the number of blocks of said first data.
 7. Thedata storage method according to claim 6 wherein, in said packetdistribution controlling step, a data loss probability in said network,said recording probability, response probability, the number of saidinformation processing terminals and the number of blocks of said seconddata are changed so that the product of said data loss probability insaid network, said recording probability, response probability, thenumber of said information processing terminals and the number of blocksof said second data is the same as or larger than the number of blocksof said first data.
 8. The data storage method according to claim 4wherein, in said packet distribution controlling step, the probabilityof said plural information terminals not responding, said recordingprobability, response probability, the number of said informationprocessing terminals and the number of blocks of said second data arechanged so that the product of the probability of said pluralinformation terminals not responding, said recording probability,response probability, the number of said information processingterminals and the number of blocks of said second data is the same as orlarger than the number of blocks of said first data.
 9. The data storagemethod according to claim 1 wherein, in said recording probabilitygenerating step and in said response probability generating step, saidrecording probability, response probability or the coding rate isincreased to lower the probability of overlapping of the packetsresponded in said responding step.
 10. A data storage system fordistributing and recording data in a plurality of information terminalsinterconnected over a network, comprising a data recording controllingdevice; said data recording controlling device including encoding meansfor encoding blocked first data to generate blocked second data;packetizing means for packetizing said second data; recordingprobability generating means for generating a recording probabilityindicating whether or not the packet generated in said packetizing meansis to be recorded in said plural information processing terminals; andtransmission means for transmitting said recording probability and saidresponse request data to said plural information processing terminals;said data storage system also comprising a plurality of informationprocessing terminals, said information processing terminals eachincluding transmission/receiving means for transmitting/receiving saidpacket and the recording probability to/from said data recordingcontrolling device; recording means for recording said packet; andcontrolling means for managing control whether or not the receivedpacket is to be recorded based on said recording probability and whetheror not the recorded packet is to be responded with said responseprobability; said means being interconnected in their entirety over anetwork.
 11. The data storage system according to claim 10 wherein saidrecording probability is included in said packet and is transmittedalong with said packet to the information processing terminals.
 12. Thedata storage system according to claim 10 wherein said recordingprobability is transmitted with a packet different from said packet. 13.The data storage system according to claim 10 wherein the number of thepackets received in said receiving means in said data receivingcontrolling device is the same as or larger than the number of theblocks of said first data.
 14. The data storage system according toclaim 13 further comprising a packet distribution controlling means ofchanging the ratio of said first and second data, recording probabilityand the response probability to control the distribution of saidpackets.
 15. The data storage system according to claim 13 wherein, insaid packet distribution controlling means, said recording probability,response probability, the number of said information processingterminals and the number of blocks of said second data are changed sothat the product of said recording probability, response probability,the number of said information processing terminals and the number ofblocks of said second data is the same as or larger than the number ofblocks of said first data.
 16. The data storage system according toclaim 15 wherein, in said packet distribution controlling means, a dataloss probability in said network, said recording probability, responseprobability, the number of said information processing terminals and thenumber of blocks of said second data are changed so that the product ofsaid data loss probability in said network, said recording probability,response probability, the number of said information processingterminals and the number of blocks of said second data is the same as orlarger than the number of blocks of said first data.
 17. The datastorage system according to claim 13 wherein, in said packetdistribution controlling means, the probability of said pluralinformation terminals not responding, said recording probability,response probability, the number of said information processingterminals and the number of blocks of said second data are changed sothat the product of the probability of said plural information terminalsnot responding, said recording probability, response probability, thenumber of said information processing terminals and the number of blocksof said second data is the same as or larger than the number of blocksof said first data.
 18. The data storage system according to claim 10wherein, in said recording probability generating means and in saidresponse probability generating means, said recording probability,response probability or the coding rate is increased to lower theprobability of overlapping of the packets responded by said informationprocessing terminals.
 19. A data recording controlling apparatus fordistributing and recording data in a plurality of information terminalsinterconnected over a network, said apparatus comprising encoding meansfor encoding blocked first data to generate blocked second data;packetizing means for packetizing said second data; recordingprobability generating means for generating a recording probabilityspecifying whether or not the packet generated by said packetizing meansis to be recorded in said plural information processing terminals;response request data generating means for generating response requestdata with a response probability attached thereto, said responseprobability indicating whether or not said packet is to be responded;transmission means for transmitting the packet including said recordingprobability and said response request data to said plural informationprocessing terminals; and receiving means for receiving the packet sentfrom said terminals.
 20. A data recording commanding apparatus fordistributing and recording data in a plurality of information terminalsinterconnected over a network, said apparatus comprising encoding meansfor encoding blocked first data to generate blocked second data;packetizing means for packetizing said second data; recordingprobability generating means for generating a recording probabilityindicating whether or not the packet generated in said packetizing meansis to be recorded in said plural information processing terminals; andtransmission means for transmitting said packet inclusive of therecording probability to said plural information processing terminals.21. A data receiving apparatus for receiving data from a plurality ofinformation processing terminals interconnected over a network, saidapparatus comprising response request data generating means forgenerating response request data with a response probability attachedthereto, said response probability indicating whether or not a packetrecorded in said plural information processing terminals is to beresponded; transmitting means for transmitting said response requestdata to said information processing terminals; and receiving means forreceiving the packet sent from said information processing terminals.22. An information processing terminal comprising transmitting/receivingmeans for transmitting/receiving data with an external device connectedthereto over a network; recording means for recording the packet; andcontrolling means for controlling whether or not said packet is to berecorded based on the recording probability attached to said packet andwhether or not the recorded packet is to be responded with the responseprobability sent from said external device.